package object;
/**
 * Object是所有类的超类，它里面定义的方法所有子类都具备
 * 而其中有两个方法经常被子类重写:toString,equals
 * 
 * @author 范传奇
 *
 */
public class Point {
	private int x;
	private int y;
	
	public Point(int x, int y) {
		super();
		this.x = x;
		this.y = y;
	}

	public int getX() {
		return x;
	}

	public void setX(int x) {
		this.x = x;
	}

	public int getY() {
		return y;
	}

	public void setY(int y) {
		this.y = y;
	}
	/**
	 * 重写从Object中继承的toString方法。返回的字符串没有格式上的具体要求，可以
	 * 结合将来实际开发需求而定。但是原则上返回的字符串中应当包含当前对象的属性信息
	 */
	public String toString() {
		//希望返回的格式:(x,y)
		return "(" + x + "," + y + ")";
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + x;
		result = prime * result + y;
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Point other = (Point) obj;
		if (x != other.x)
			return false;
		if (y != other.y)
			return false;
		return true;
	}
	
	
	
}










